home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / pcscheme / geneva / sources.exe / SOURCES / S / EDLISP.S < prev    next >
Encoding:
Text File  |  1993-11-30  |  2.5 KB  |  70 lines

  1. ;* EDLISP.S
  2. ;************************************************************************
  3. ;*                                    *
  4. ;*        PC Scheme/Geneva 4.00 Scheme code            *
  5. ;*                                    *
  6. ;* (c) 1985-1988 by Texas Instruments, Inc. See COPYRIGHT.TXT        *
  7. ;* (c) 1992 by L. Bartholdi & M. Vuilleumier, University of Geneva    *
  8. ;*                                    *
  9. ;*----------------------------------------------------------------------*
  10. ;*                                    *
  11. ;*        EDLISP: A cute little editor for PCS            *
  12. ;*                                    *
  13. ;*----------------------------------------------------------------------*
  14. ;*                                    *
  15. ;* Created by: Bertrand le Guern        Date: 1993        *
  16. ;* Revision history:                            *
  17. ;* - Aug 1993: Creation (blg)                        *
  18. ;* - 26 Nov 1993: A few minor changes to add flexibility (lb)        *
  19. ;*                                    *
  20. ;*                    ``In nomine omnipotentii dei''    *
  21. ;************************************************************************
  22. ;* ORIGINAL DOC by Bertand Le Guern                    *
  23. ;* Un petit utilitaire si vous ne souhaitez pas utiliser EDWIN.        *
  24. ;* L'éditeur EDLISP a été écrit spécialement pour PCS par        *
  25. ;* Bertrand LeGuern, prof. de maths à Albi, et hacker C devant        *
  26. ;* l'Eternel... Merci, Bertrand !                    *
  27. ;*                                    *
  28. ;* A la sortie, EDLISP demande ce qu'il faudra compiler (tout ou un    *
  29. ;* bloc), et le sauvera dans un fichier BUFFER.TMP, dans un répertoire    *
  30. ;* que l'on précise sur la ligne de commande de EDLISP (cf. ci-dessous).*
  31. ;* On suppose que BUFFER.TMP est à la racine de D: (modifiez suivant    *
  32. ;* vos disques durs).                            *
  33. ;*                                    *
  34. ;* Exemple:            (edit "fac.scm")            *
  35. ;* les jokers sont admis :    (edit "ex1-*.scm")            *
  36. ;* avec ouverture d'autant de fenêtres. Mais seule la fenêtre        *
  37. ;* principale sera compilable à la fin via le BUFFER.TMP !        *
  38. ;************************************************************************
  39.  
  40. (define edlisp)
  41. (let* ((file "noname.s")
  42.        (editor (let ((try (dos-search-file "edlisp.exe")))
  43.          (if try try (%system-file-name "edlisp.exe"))))
  44.        (helper (let ((try (dos-search-file "edhlp.bat")))
  45.          (if try try (%system-file-name "edhlp.bat"))))
  46.        (temp (or (dos-get-env "TEMP")
  47.          (dos-get-env "TMP")
  48.          ""))
  49.        (buffer (string-append temp "/buffer.tmp")))
  50.   (set! edlisp
  51.     (lambda args
  52.       (if (not (null? args))
  53.       (set! file (car args)))
  54.       (if (file-exists? buffer)
  55.       (dos-delete buffer))
  56.       (dos-call editor
  57.         (string-append " /m116"
  58.                    " /f7"
  59.                    " /c30"
  60.                    " /b32000"
  61.                    " /d" temp
  62.                    " /H" helper
  63.                    " " file)
  64.         0
  65.         0)
  66.       (if (file-exists? buffer)
  67.       (load buffer))
  68.       *the-non-printing-object*)))
  69.  
  70.